Appearance
MapStruct 工具
你看一下项目中的 这个 Mapper 注解,这里使用的就是 package org.mapstruct; 这个框架内容
@Mapper
public interface StoreActivityProductServiceMapper {
StoreActivityProductServiceMapper INSTANCE = Mappers.getMapper(StoreActivityProductServiceMapper.class);
/**
* Convert entity to dto. * @param request
* @return {@link StoreActivityListQuery }
*/
StoreActivityListQuery toStoreActivityListQuery(StoreActivityListRequest request);
}代码层的使用一般就是
StoreActivityListQuery query = StoreActivityProductServiceMapper.INSTANCE.toStoreActivityListQuery(request);更多的用法可以问一下大模型
目前 soms 项目中的用法,注意一下第一个和第三个就行,后面如果其他项目有用到,自己注意一下就行。
<annotationProcessorPaths>
<!-- MapStruct Plus 注解处理器 -->
<path>
<groupId>io.github.linpeilie</groupId>
<artifactId>mapstruct-plus-processor</artifactId>
<version>${mapstruct-plus.version}</version>
</path>
<!-- Lombok 注解处理器 -->
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<!-- 解决 Lombok 与 MapStruct 兼容问题的处理器 -->
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-mapstruct-binding</artifactId>
<version>0.2.0</version>
</path>
</annotationProcessorPaths>看在跟目录pom下是引入了 相关的启动器。
<dependency>
<groupId>io.github.linpeilie</groupId>
<artifactId>mapstruct-plus-spring-boot-starter</artifactId>
<version>${mapstruct-plus.version}</version>
</dependency>